-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[external-assets] Create external assets defs for undefined assets in repo construction #20145
[external-assets] Create external assets defs for undefined assets in repo construction #20145
Conversation
212504b
to
3efaa6f
Compare
59f3d5f
to
1fd1ee8
Compare
3efaa6f
to
5422a3b
Compare
1fd1ee8
to
b6ea604
Compare
dce4ba8
to
d77ea65
Compare
d77ea65
to
101a9c6
Compare
00eb64c
to
2f03e42
Compare
101a9c6
to
599d04b
Compare
2f03e42
to
7fdcaea
Compare
599d04b
to
311d0ef
Compare
7fdcaea
to
ae90738
Compare
311d0ef
to
3bb4896
Compare
ae90738
to
5003390
Compare
3bb4896
to
d73e923
Compare
d73e923
to
c015d8f
Compare
072ed7a
to
c2031ac
Compare
c015d8f
to
0b5aec4
Compare
c2031ac
to
c753e70
Compare
0b5aec4
to
cdd3edc
Compare
c753e70
to
9fa2ff0
Compare
cdd3edc
to
94444b2
Compare
9fa2ff0
to
42c75ff
Compare
94444b2
to
98c621b
Compare
Does this cause any user-facing changes? Do we render bare asset key references differently? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Req'ing changes for q mgmt
42c75ff
to
5401f3b
Compare
@smackesey on reflection I think this actually a fairly important product decision. It gives us the opportunity to allow people to model external assets without even forcing them to explicitly learn the concept upfront. It will just appear in the UI. However we need to be deliberate about that decision as there are arguments both ways. We should either
|
So after some further investigation, the rendering change is smaller than I thought. The above difference I showed is only observed when looking at the default asset group. There is no change when looking at an asset job, which looks like this both before and after the change: I believe the status quo style is probably not the result of a principled decision. Basically, the same graph rendering code is used for op-jobs, asset-jobs, and asset groups. The "small" style is used to show that a job is loading from source assets that aren't defined in the job, or an asset group has dependencies outside the group. The reason we see a difference when viewing the default group is that, in the status quo, the Further, I don't think the group name was ever intended to be set to null for bare dependencies, because we explicitly set it when defining the
In any case, I updated the PR to keep the FWIW I favor option (3), i.e. feel that bare deps should be treated just like explicitly defined SourceAsset. I had some discussion on it with @OwenKephart here: https://dagsterlabs.slack.com/archives/C03A0D72A6T/p1709238575807419 |
edfd67f
to
d455262
Compare
d455262
to
5a2551a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you create linear task for eliminating SYSTEM_METADATA_KEY_AUTO_CREATED_STUB_ASSET and link to the issue in the places where we will want to delete when we come to a resolution on what to do about these bare references?
… repo construction
5a2551a
to
6eadaed
Compare
… repo construction (#20145) ## Summary & Motivation Currently it is possible for assets to be referenced as dependencies when they have no corresponding `AssetsDefinition` (only when using `deps`). This complicates implementation of the `AssetGraph` and `AssetLayer`. This PR generates unexecutable external assets during repository construction (the same place source assets are converted to external assets) for any referenced keys without a corresponding user-provided definition. ## How I Tested These Changes Existing test suite. One test was removed-- this made sure the internal asset graph could handle undefined asset references, but we no longer rely on this behavior.
Summary & Motivation
Currently it is possible for assets to be referenced as dependencies when they have no corresponding
AssetsDefinition
(only when usingdeps
). This complicates implementation of theAssetGraph
andAssetLayer
.This PR generates unexecutable external assets during repository construction (the same place source assets are converted to external assets) for any referenced keys without a corresponding user-provided definition.
How I Tested These Changes
Existing test suite. One test was removed-- this made sure the internal asset graph could handle undefined asset references, but we no longer rely on this behavior.